﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Controls;

namespace SHomeWorkshop.LunarSF.StudentInfosManager.ValidationRules
{
    /// <summary>
    /// 曾用名验证类。与“姓名”验证唯一的不同是：它可以为空。
    /// </summary>
    public class OldNameRule : LValidationRule
    {
        public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
        {
            string text = NameRule.Format(value.ToString());
            if (string.IsNullOrWhiteSpace(text))
                return new ValidationResult(true, null); //没填曾用名验证OK

            if (text.Length <= 1)
                return new ValidationResult(false, "“曾用名”只能由【2，16】个汉字组成，可以包括间隔号“·”。"); //验证失败

            if (text.StartsWith("·") || text.EndsWith("·"))
                return new ValidationResult(false, "“曾用名”可以包括间隔号“·”，但不能用在开头或结尾。"); //验证失败

            if (NameRule.AllIsHanChars(text))
                return new ValidationResult(true, null); //验证OK
            else
                return new ValidationResult(false, "“曾用名”只能由【2，16】个汉字组成，可以包括间隔号“·”。"); //验证失败
        }
    }
}
